perm filename CON11.FAI[CMS,LCS] blob sn#404773 filedate 1978-12-15 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002		TITLE CON11
C00005 ENDMK
C⊗;
	TITLE CON11
	A←1 ↔B←2↔C←3 ↔D←4 ↔E←5↔X←6↔Y←7
	P←17 ↔ NBUFS←4 ↔ S←10 
PDL:	BLOCK 22
IBUF:	BLOCK 4
OBUF:	BLOCK 4
FILNAM:	'VDSK  '
	'DMP   '
	0
	0
FIL2:	'LOAD11'
	'HHT   '
	0
	0

STAR:	MOVE P,[PDPO:	IOWD 22,PDL]
	OPEN 11,[14↔'DSK   '↔IBUF]
	JRST 4,.
	INBUF 11,NBUFS
	LOOKUP 11,FILNAM
	JRST 4,.
	OPEN [14↔'DSK   '↔OBUF,,]
	JRST 4,.
	OUTBUF NBUFS
	ENTER FIL2
	JRST 4,.

	HRROI Y,-761	;-777 FOR LAST PROM (256 BYTES)
			;-7 FOR 1400 ?

LOADER:	PUSHJ P,INP+1
	HRRZI X,200
	ADD X,IBUF+2
	AOJL Y,LOADER
	
	PUSHJ P,OUTP	;SETUP PDP 11 FORMAT
	HRRZI A,1
	HRRZM A,1(Y)
	AOBJP Y,ERROR
	SETZM 1(Y)
	AOBJP Y,ERROR
	HRRZI A,6
	HRRZM A,1(Y)
	AOBJP Y,ERROR
	HRRZI A,20
	HRRZM A,1(Y)
	AOBJP Y,ERROR
	SETZM 1(Y)
	AOBJP Y,ERROR
	HRRZI A,20
	HRRZM A,1(Y)
	AOBJP Y,ERROR
	HRRZI S,47	;START CHECK SUM

	HRLI C,-4000	;-400 FOR 256 PROM
LOAD:	PUSHJ P,INP
	HRRZ A,1(X)
	ADDI S,(A)
	HRRZM A,1(Y)
	SETOM 2(Y)
	ADDI S,377
	AOBJP Y,ERROR
	AOBJP Y,OUTIT
ADX:	AOBJP C,DONE
	AOBJN X,LOAD+1
	JRST LOAD

OUTIT:	PUSHJ P,OUTP
	JRST ADX

DONE:	XORI S,-1	;GET CHECK SUM
	AOJ S,
	ANDI S,377
	HRRZM S,1(Y)
	AOBJP Y,ERROR
	HRRZI A,1
	HRRZM A,1(Y)
	AOBJP Y,ERROR
	SETZM 1(Y)
	AOBJP Y,ERROR
	HRRZI A,6
	HRRZM A,1(Y)
	AOBJP Y,ERROR
	SETZM 1(Y)
	AOBJP Y,ERROR
	SETZM 1(Y)
	AOBJP Y,ERROR
	SETZM 1(Y)
	AOBJP Y,ERROR
	HRRZI 371	;LAST BLOCK CK SUM
	HRRZM 1(Y)
	AOBJP Y,ERROR
	
	PUSHJ P,OUTP
	RELEAS
	EXIT

INP:	HRRM X,IBUF+1
	IN 11,
	JRST SETX
	STATO 11,20000
	JRST 4,.
ERROR:	OUTSTR [ASCIZ/?????/]
	EXIT

OUTP:	HRRM Y,OBUF+1
	OUT
	CAIA
	JRST 4,.
	HRRZ Y,OBUF+2
	MOVNI Y,(Y)
	HRLZI Y,(Y)
	HRR Y,OBUF+1
	POPJ P,

SETX:	HRRZ X,IBUF+2
	MOVNI X,(X)
	HRLZI X,(X)
	HRR X,IBUF+1
	POPJ P,
END STAR